using System;
using bitzhuwei.Compiler;

namespace bitzhuwei.JsonFormat {
    partial class CompilerJson {
        /// <summary>
        /// Vt types are used both for lexical-analyze and syntax-parse.
        /// <para>Vn types are only for syntax-parse.</para>
        /// <para>Vt is quoted in ''.</para>
        /// <para>Vn is not quoted in ''.</para>
        /// </summary>
        public static class st {
            // Vt
            /// <summary>
            /// Something wrong within the source code.
            /// </summary>
            public const int Error错 = -1; // "'×'";

            /// <summary>
            /// '¥'
            /// </summary>
            public const int @终 = 0; // "'¥'"

            /// <summary>
            /// 'blockComment'
            /// </summary>
            public const int @blockComment块 = 1; // "'blockComment'"
            /// <summary>
            /// 'inlineComment'
            /// </summary>
            public const int @inlineComment行 = 2; // "'inlineComment'"
            /// <summary>
            /// '{'
            /// </summary>
            public const int @LeftBrace符 = 3; // "'{'"
            /// <summary>
            /// '}'
            /// </summary>
            public const int @RightBrace符 = 4; // "'}'"
            /// <summary>
            /// '['
            /// </summary>
            public const int @LeftBracket符 = 5; // "'['"
            /// <summary>
            /// ']'
            /// </summary>
            public const int @RightBracket符 = 6; // "']'"
            /// <summary>
            /// ','
            /// </summary>
            public const int @Comma符 = 7; // "','"
            /// <summary>
            /// 'string'
            /// </summary>
            public const int @string = 8; // "'string'"
            /// <summary>
            /// ':'
            /// </summary>
            public const int @Colon符 = 9; // "':'"
            /// <summary>
            /// 'null'
            /// </summary>
            public const int @null = 10; // "'null'"
            /// <summary>
            /// 'true'
            /// </summary>
            public const int @true = 11; // "'true'"
            /// <summary>
            /// 'false'
            /// </summary>
            public const int @false = 12; // "'false'"
            /// <summary>
            /// 'number'
            /// </summary>
            public const int @number = 13; // "'number'"

            /// <summary>
            /// kinds of ('¥' + user-defined Vt)
            /// </summary>
            public const int eVtKinds = 14;


            // Vn
            /// <summary>
            /// Json
            /// </summary>
            public const int Json枝 = 14; // "Json"
            /// <summary>
            /// Object
            /// </summary>
            public const int Object枝 = 15; // "Object"
            /// <summary>
            /// Array
            /// </summary>
            public const int Array枝 = 16; // "Array"
            /// <summary>
            /// Members
            /// </summary>
            public const int Members枝 = 17; // "Members"
            /// <summary>
            /// Elements
            /// </summary>
            public const int Elements枝 = 18; // "Elements"
            /// <summary>
            /// Member
            /// </summary>
            public const int Member枝 = 19; // "Member"
            /// <summary>
            /// Element
            /// </summary>
            public const int Element枝 = 20; // "Element"
            /// <summary>
            /// Value
            /// </summary>
            public const int Value枝 = 21; // "Value"

        }
    }
}
